package de.bht.netviz.useradm.config;

import de.bht.netviz.useradm.dao.RegisteredUserJpaController;
import java.util.Observable;
import javax.persistence.Persistence;

/**
 * Konfigurationseinstellungen für die Benutzerverwaltung
 * 
 * @author Marius Hentschel
 * @since  2012/11/05
 */
public class UseradmConfig extends Observable {
   
   private static final String PERS_UNIT_NAME = "NetVizPersistenceUnit";
   
   /**
    * singleton instance
    */
   private static UseradmConfig instance;
   
   /**
    * Dao für die Userverwaltung 
    */
   private RegisteredUserJpaController dao;
   
   /**
    * Standardkonstruktor initialisiert JPA Controller für registrierte Benutzer.
    */
   private UseradmConfig() {
      dao = new RegisteredUserJpaController( Persistence.createEntityManagerFactory(PERS_UNIT_NAME));
   }
   
   /**
    * singleton getter
    * @return 
    */
   public static UseradmConfig getInstance() {
      if( instance == null ) {
         instance = new UseradmConfig();
      }
      return instance;
   }

   public RegisteredUserJpaController getDao() {
      return dao;
   }
   
   
}
